package com.liu.quartz;


import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class MyScheduler {
	public static void main(String[] args) {
		// // 创建一个JobDetail实例，将该实例与MyJob Class绑定。
		// JobDetail jobDetail =
		// JobBuilder.newJob(MyJob.class).withIdentity("myJob",
		// "group1").build();
		// // 创建一个Trigger实例，定义该Job立即执行，并且每隔两秒钟重复一次，
		// Trigger trigger =
		// TriggerBuilder.newTrigger().withIdentity("myTrigger",
		// "group1").startNow()
		// .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();
		// SchedulerFactory sf = new StdSchedulerFactory();
		// Scheduler scheduler = sf.getScheduler();
		// scheduler.start();
		// Date date = new Date();
		// SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//
		// 规范格式
		// // System.out.println("当前时间为："+sfd.format(date));
		// scheduler.scheduleJob(jobDetail, trigger);
		try {
			// 创建scheduler，执行计划
			Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
			// 定义一个Trigger,触发条件类
			Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1") // 定义name/group
					.startNow()// 一旦加入scheduler，立即生效
					.withSchedule(SimpleScheduleBuilder.simpleSchedule() // 使用SimpleTrigger
							.withIntervalInSeconds(1) // 每隔一秒执行一次
							.repeatForever()) // 一直执行，奔腾到老不停歇
					.build();
			// 定义一个JobDetail
			JobDetail job = JobBuilder.newJob(MyJob.class) // 定义Job类为HelloQuartz类，这是真正的执行逻辑所在
					.withIdentity("job1", "group1") // 定义name/group
					.usingJobData("name", "quartz") // 定义属性
					.build();
			// 加入这个调度
			scheduler.scheduleJob(job, trigger);
			// 启动任务调度
			scheduler.start();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}
